home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Programming / Amos / Lame_Sahdowed_Tunel.Amos / Lame_Sahdowed_Tunel.amosSourceCode
AMOS Source Code  |  1998-06-24  |  2KB  |  70 lines

  1. Rem "This is some shitty, bloody tunel...   without textures and anything" 
  2. Rem "nice... this is the first poor version of it...    next will be full" 
  3. Rem "textured and maybe with phong shadowing or only gouraud pulse, maybe" 
  4. Rem "soon available on AMINET, so look for it!"
  5. Rem
  6. Rem "                         this program wa written by raptor / sector5" 
  7. Rem "                         email: raptor2@free.polbox.pl" 
  8. Rem "                         www: http://www.free.polbox.pl/s/sector5"
  9.  
  10. 'Open screens and etc... 
  11. Screen Open 0,320,256,16,Lowres : Cls 0 : Flash Off : Hide : Colour 1,$FFF
  12. Double Buffer : Autoback 0 : Degree 
  13. For K=1 To 15 : Colour K,K*273 : Next 
  14. Dim WSP(150),WSP1(150),WSP2(150),WSP3(150),WSP4(150),WSP5(150),WSP6(150),WSP7(150)
  15. Dim XS(150),X(150),Y(150)
  16.  
  17. 'Calculate zoom parametr...  
  18. For NUM=2 To 70
  19.    Add X,5,1 To 340
  20.    XS(NUM)=X
  21. Next 
  22. AD=0 : AD1=90 : AD2=180 : AD3=270
  23. Do 
  24.    Add ALFA,5,0 To 359
  25.  
  26.    'Recalculate zoom parametr...  
  27.    For NUM=1 To 70
  28.       XS(NUM)=XS(NUM)+5
  29.       If XS(NUM)>340 Then XS(NUM)=0 : X(NUM)=160+50*Sin(ALFA) : Y(NUM)=132+30*Cos(ALFA)
  30.    Next 
  31.    AD=AD+1 : AD1=AD1+1 : AD2=AD2+1 : AD3=AD3+1
  32.  
  33.    'Calculate tunel...
  34.    For NUM=1 To 70 Step 1
  35.       If T=0 Then X(NUM)=160+50*Sin(ALFA) : Y(NUM)=132+30*Cos(ALFA)
  36.       X=X(NUM)+(XS(NUM))*Sin(ALFA+AD+Rnd(3)) : WSP(NUM)=X
  37.       Y=Y(NUM)+(XS(NUM))*Cos(ALFA+AD+Rnd(3)) : WSP1(NUM)=Y
  38.       X1=X(NUM)+(XS(NUM))*Sin(ALFA+AD1+Rnd(3)) : WSP2(NUM)=X1
  39.       Y1=Y(NUM)+(XS(NUM))*Cos(ALFA+AD1+Rnd(3)) : WSP3(NUM)=Y1
  40.       X2=X(NUM)+(XS(NUM))*Sin(ALFA+AD2+Rnd(3)) : WSP4(NUM)=X2
  41.       Y2=Y(NUM)+(XS(NUM))*Cos(ALFA+AD2+Rnd(3)) : WSP5(NUM)=Y2
  42.       X3=X(NUM)+(XS(NUM))*Sin(ALFA+AD3+Rnd(3)) : WSP6(NUM)=X3
  43.       Y3=Y(NUM)+(XS(NUM))*Cos(ALFA+AD3+Rnd(3)) : WSP7(NUM)=Y3
  44.    Next 
  45.    T=1
  46.  
  47.    'Display tunel...
  48.    For N=1 To 70 Step 1
  49.       If XS(N)>-20 Then K=1
  50.       If XS(N)>20 Then K=2
  51.       If XS(N)>40 Then K=3
  52.       If XS(N)>60 Then K=4
  53.       If XS(N)>80 Then K=5
  54.       If XS(N)>100 Then K=6
  55.       If XS(N)>120 Then K=7
  56.       If XS(N)>140 Then K=8
  57.       If XS(N)>160 Then K=9
  58.       If XS(N)>180 Then K=10
  59.       If XS(N)>200 Then K=11
  60.       If XS(N)>220 Then K=12
  61.       If XS(N)>240 Then K=13
  62.       If XS(N)>260 Then K=14
  63.       If XS(N)>280 Then K=15
  64.  
  65.       Ink K,0 : Polyline WSP(N),WSP1(N) To WSP2(N),WSP3(N) To WSP4(N),WSP5(N) To WSP6(N),WSP7(N) To WSP(N),WSP1(N)
  66.    Next 
  67.    Screen Swap : Wait 1 : Cls 0
  68. Loop 
  69.  
  70. 'everything is simply... isn't it?